Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update base64 requirement from 0.20 to 0.22 #28

Open
wants to merge 24 commits into
base: neon
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Mar 4, 2024

Updates the requirements on base64 to permit the latest version.

Changelog

Sourced from base64's changelog.

0.22.0

  • DecodeSliceError::OutputSliceTooSmall is now conservative rather than precise. That is, the error will only occur if the decoded output cannot fit, meaning that Engine::decode_slice can now be used with exactly-sized output slices. As part of this, Engine::internal_decode now returns DecodeSliceError instead of DecodeError, but that is not expected to affect any external callers.
  • DecodeError::InvalidLength now refers specifically to the number of valid symbols being invalid (i.e. len % 4 == 1), rather than just the number of input bytes. This avoids confusing scenarios when based on interpretation you could make a case for either InvalidLength or InvalidByte being appropriate.
  • Decoding is somewhat faster (5-10%)

0.21.7

  • Support getting an alphabet's contents as a str via Alphabet::as_str()

0.21.6

  • Improved introductory documentation and example

0.21.5

  • Add Debug and Clone impls for the general purpose Engine

0.21.4

  • Make encoded_len const, allowing the creation of arrays sized to encode compile-time-known data lengths

0.21.3

  • Implement source instead of cause on Error types
  • Roll back MSRV to 1.48.0 so Debian can continue to live in a time warp
  • Slightly faster chunked encoding for short inputs
  • Decrease binary size

0.21.2

  • Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code

0.21.1

  • Remove the possibility of panicking during decoded length calculations
  • DecoderReader no longer sometimes erroneously ignores padding #226

Breaking changes

  • Engine.internal_decode return type changed
  • Update MSRV to 1.60.0

0.21.0

Migration

Functions

... (truncated)

Commits
  • 5d70ba7 Merge pull request #269 from marshallpierce/mp/decode-precisely
  • efb6c00 Release notes
  • 2b91084 Add some tests to boost coverage
  • 9e9c7ab Engine::internal_decode now returns DecodeSliceError
  • a8a60f4 Decode main loop improvements
  • a25be06 Simplify leftover output writes
  • 9979cc3 Keep morsels as separate bytes
  • 37670c5 Bump dev toolchain version (#268)
  • 9652c78 v0.21.7
  • 08deccf provide as_str() method to return the alphabet characters (#264)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

funbringer and others added 24 commits December 16, 2022 20:10
We'd like to check our patches.
This patch was implemented by Petros Angelatos and Jeff Davis
to support physical and logical replication in rust-postgres
(see sfackler#752).

The original PR never made it to the upstream, but we
(Neon) still use it in our own fork of rust-postgres.

The following commits were squashed together:

* Image configuration updates.

* Make simple_query::encode() pub(crate).

* decoding logic for replication protocol

* Connection string config for replication.

* add copy_both_simple method

* helper ReplicationStream type for replication protocol

This can be optionally used with a CopyBoth stream to decode the
replication protocol

* decoding logic for logical replication protocol

* helper LogicalReplicationStream type to decode logical replication

* add postgres replication integration test

* add simple query versions of copy operations

* replication: use SystemTime for timestamps at API boundary

Co-authored-by: Petros Angelatos <[email protected]>
Co-authored-by: Jeff Davis <[email protected]>
Co-authored-by: Dmitry Ivanov <[email protected]>
According to https://datatracker.ietf.org/doc/html/rfc5802#section-3,
SCRAM protocol explicitly allows client to use a `ClientKey` & `ServerKey`
pair instead of a password to perform authentication. This is also useful
for proxy implementations which would like to leverage `rust-postgres`.

This patch adds the ability to do that.
We need this to enable parameter forwarding in Neon Proxy.
This is less than ideal, but we'll probably revert the patch
once a proper fix has been implemented.
That way our proxy can take back stream for proxying.
Add query_raw_txt client method

It takes all the extended protocol params as text and passes them to
postgres to sort out types. With that we can avoid situations when
postgres derived different type compared to what was passed in arguments.
There is also propare_typed method, but since we receive data in text
format anyway it makes more sense to avoid dealing with types in params.

This way we also can save on roundtrip and send Parse+Bind+Describe+Execute
right away without waiting for params description before Bind.

Use text protocol for responses -- that allows to grab
postgres-provided serializations for types.

Catch command tag.

Expose row buffer size and add `max_backend_message_size` option to
prevent handling and storing in memory large messages from the backend.

Co-authored-by: Arthur Petukhovsky <[email protected]>
Previous coding only allowed passing vector of text values as params,
but that does not allow to distinguish between nulls and 4-byte
strings with "null" written in them. Change query_raw_txt params
argument to accept Vec<Option<String>> instead.
As we are trying to match client-side behaviour with node-postgres we
need to return this fields as well because node-postgres returns them.
* refactor query_raw_txt to use a pre-prepared statement

* expose ready_status on RowStream
* add ready_status on simple queries

* add correct socket2 features
This is useful / needed to build a Rust client for the Pageserver's
GetPage@LSN API, which uses CopyBoth mode.
Added getter for process_id
Updates the requirements on [base64](https://github.com/marshallpierce/rust-base64) to permit the latest version.
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](marshallpierce/rust-base64@v0.20.0...v0.22.0)

---
updated-dependencies:
- dependency-name: base64
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants